/*
 *     Prionace - A file navigator to manage your files
 *
 *     Copyright (C) 2012 Francivan Bezerra
 *
 *     This file is part of Prionace.
 *
 *     Prionace is free software: you can redistribute it and/or modify
 *     it under the terms of the GNU General Public License as published by
 *     the Free Software Foundation, either version 3 of the License, or
 *     (at your option) any later version.
 *
 *     Prionace is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
 *
 *     You should have received a copy of the GNU General Public License
 *     along with Prionace.  If not, see <http://www.gnu.org/licenses/>.
 */

package org.fba.prionace.process;

import java.util.Hashtable;

public class ExecProcessMap {

	private Hashtable<String, String> execProcess;

	public ExecProcessMap() {
		execProcess = new Hashtable<String, String>();
	}

	public Hashtable<String, String> getExecProcess() {
		return execProcess;
	}

	public void setExecProcess(Hashtable<String, String> execProcess) {
		this.execProcess = execProcess;
	}

	public void addExecProcess(String mimeType, String exec) {
		execProcess.put(mimeType, exec);
	}

	public void removeExecProcess(String mimeType) {
		execProcess.remove(mimeType);
	}

	/**
	 * Gets the executable path and the parameters needed to run it.
	 * 
	 * @param mimeType
	 *            the mime type associated to an executable.
	 * 
	 * @return an array with the executable and its parameters if any, or
	 *         <code>null</code> if the mime type is not mapped.
	 */
	public String[] getExecParam(String mimeType) {
		String exec = execProcess.get(mimeType);
		String[] splitExec = null;

		if (exec != null) {
			splitExec = exec.split(" ");
		}

		return splitExec;
	}
}
